package gowcage.tfgame;

import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;

import java.util.Vector;

public class Npc {
	float x, y;//小人坐标
	float spx, spy;//小人速度
	Map m;//地图对象
	float speed = 20;//小人速度，数值越大越慢
	int i, j, id;//id是下一个目标地点地图位标的编号，ij是下一个目标地点的地图位标.
	boolean live;
	int hp = 12;//小人的血

	public Npc(Map m) {
		x = 16;
		y = 16;
		this.m = m;
		v = m.getWay(0, 0);
		id = 0;
		live = false;
		x = 16;
		y = 16;
	}
	public void init(){
		hp=15;
		live=true;
	}
	Vector v;

	void move() {//小人移动
		if (Math.abs(x - (i * 32 + 16)) < 0.03f
				&& Math.abs(y - (j * 32 + 16)) < 0.03f) {//到达目标位置
			int arr[] = { 0, 0 };
			if (id < v.size()) {
				arr = (int[]) v.elementAt(id++);//求下一个目标位置
			} else {
				id = 0;
			}
			i = arr[1];
			j = arr[0];
			spx = ((i * 32 + 16) - x) / speed;//计算到达下一个位置的平均速度
			spy = ((j * 32 + 16) - y) / speed;
		}
		x += spx;
		y += spy;
	}

	void paint(Canvas c, Paint p) {
		if (live) {
			move();
			if (hp > 0) {
				p.setColor(Color.RED);
				c.drawRect(x - 10, y - 10, x + 10, y + 10, p);
			}
		}
	}
}
